출처: Understanding Deep Learning - Simon Prince
실무에서는 loss function과 cost function이 혼용되지만, 엄밀히는 서로 다른 범위를 가리킨다.
Loss Function — 데이터 포인트 하나의 오차
훈련 데이터에서 하나의 샘플 에 대해, 모델의 예측 과 실제값 사이의 오차를 측정하는 함수다.
핵심은 "a data point" — 개별 데이터 포인트 하나에 연결된 항(term)이라는 것.
Cost Function — 실제로 최소화하는 전체 목적량
개별 loss들을 모아서 만든 전체 목적함수이며, gradient-descent|Gradient Descent가 실제로 줄이려고 하는 대상이다.
여기서 중요한 점은, cost function에는 개별 데이터 포인트와 무관한 항도 포함될 수 있다는 것이다. 대표적으로 regularization|정규화(Regularization) 항이 여기 해당한다.
같은 L2 regularization 항은 특정 와 아무 관련이 없다. 가중치 자체가 과도하게 커지는 것을 억제하는 제약일 뿐이다. 이런 항은 loss function이 아니라 cost function 수준에서만 존재한다.
이것이 두 개념의 경계를 명확히 긋는 부분이다 — loss는 순수하게 "예측 vs 정답"의 오차만 다루고, cost는 그 위에 모델 자체에 대한 제약까지 포함하는 더 넓은 개념이다.
Objective Function — 최적화 대상의 총칭
최소화든 최대화든, 최적화하려는 목적을 가진 함수를 통칭한다.
- 최소화 방향 → cost function, loss function (오차를 줄이고 싶으니까)
- 최대화 방향 → likelihood(우도), reward(강화학습 보상) (클수록 좋으니까)
cost function은 objective function의 부분집합이다. 실무에서는 최대화 문제도 부호를 뒤집어 최소화로 바꾸는 경우가 많아 (예: maximize log-likelihood → minimize negative log-likelihood) 경계가 흐려지지만, 개념적 위계는 이렇다: